<?php

/**
 * Diese Klasse erfasst alle benötigten Javascript Dateien und gibt auf anfrage eine
 * Liste aller Dateien zurück
 * 
 * @author Shane
 *
 */
class JavascriptHolder {
	
	// Hier werden alle javascripts abgelegt
	private $javascripts;
	
	/**
	 * Der Konstruktor initialisiert das javascript array
	 */ 
	function __construct() {
	}
	
	/**
	 * Fügt ein Javascript hinzu, falls dies noch nicht vorhanden ist
	 * 
	 * @param string $jsFile
	 */
	function add_javascript($jsFile) {
		
		if (!isset($this->javascripts)) {
			$this->javascripts = array();
		}
		
		foreach ($this->javascripts as $js) {
			if ($js === $jsFile) return;
		}
		
		$this->javascripts[] = $jsFile;
	}
	
	/**
	 * Gibt das array mit allen Javascripts zurück und leert es
	 */
	function get_javascripts() {
		$jsBuffer = $this->javascripts;
		
		unset($this->javascripts);
		
		return $jsBuffer;
	}
	
	/**
	 * Entfernt eine Javascrip aus dem array, wenn es vorhanden ist
	 * @param string $javascript
	 */
	function remove_javascript($javascript) {
		for ($i = 0; $i < count($this->javascripts); $i++) {
			if ($this->javascripts[$i] === $javascript) {
				unset ($this->javascripts[$i]);
				return;
			}
		}
	}
}

?>